1. Field of Art
The present disclosure generally relates to software automation tools, and more specifically, to knowledge abstraction.
2. Description of the Related Art
Many business software applications developed in legacy code are still used by companies to manage their daily operations. Some of these applications date back to 1970's or even earlier. Legacy code is application source code that relates to code that has limited or no documentation of the business rules or knowledge embedded within the code or is no-longer supported by the publisher. Thus, based on the applicability or importance of this legacy code, there has been a need to migrate this code from older versions to more current versions. Further, in some instances, there has been a need to migrate this legacy code from an older software platform that may no longer be supported to a more current software platform that presently may have wider industry acceptance.
Traditionally, people have attempted to study the source code of these software applications to understand the embedded business knowledge and/or to migrate the applications. However, this approach is both labor-intensive and vulnerable to human errors. To add to this problem, these aging software applications generally do not have adequate documentation, and therefore, increase the cost of the migration process even further. This is because it is very difficult to discover, recognize and extract all the embedded business knowledge from diverse systems in totality. Another problem with the traditional approach is that in instances where automation tools are used to aid the manual migration process, the output produced is non-flexible and proprietary. In addition, with the traditional approach, the same methodology is not adaptable to migration of software applications developed in different computer languages, thereby limiting its long-term applicability and usability.
Thus, the present state of the art lacks a system and process to automatically extract business knowledge from a collection of data. Moreover, it lacks an automated process to use this information in order to migrate between versions or platforms.